/**
 * 开发环境启动脚本
 */
const { spawn } = require('child_process');
const path = require('path');
const fs = require('fs');

// 确保tools目录存在
if (!fs.existsSync(path.join(__dirname))) {
  fs.mkdirSync(path.join(__dirname), { recursive: true });
}

console.log('正在启动开发服务器...');

// 运行微信开发者工具命令行
const wxDevtool = spawn('npx', ['miniprogram-ci', 'open'], {
  cwd: process.cwd(),
  stdio: 'inherit',
  shell: true
});

wxDevtool.on('error', (error) => {
  console.error('启动失败:', error);
});

wxDevtool.on('close', (code) => {
  if (code !== 0) {
    console.log(`开发工具进程退出，退出码: ${code}`);
  }
});

// 同时启动云函数服务
const cloudFunc = spawn('node', ['./cloudfunctions/mcloud/index.js'], {
  cwd: process.cwd(),
  stdio: 'inherit',
  shell: true
});

cloudFunc.on('error', (error) => {
  console.error('云函数启动失败:', error);
});

cloudFunc.on('close', (code) => {
  if (code !== 0) {
    console.log(`云函数进程退出，退出码: ${code}`);
  }
});

console.log('开发环境已启动!');
console.log('提示：按Ctrl+C可以停止服务器'); 